A distributed computer system includes multiple autonomous computers that communicate with each other through a computer network. The computers interact with each other in order to achieve a common goal, and a problem is divided into many tasks, which are distributed across the nodes of the computer system. Often, the distributed computer system is able to concurrently process several computations and to run parallel computer applications on its nodes. Cloud computing is a form of a distributed computer system.
Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services) that can be rapidly provisioned and released with minimal management effort or service provider interaction. Details of the cloud are abstracted from the users, or clients, who can have little if any expertise in, or control over, the technology infrastructure in the cloud that supports them. Cloud computing describes a supplement, consumption, and delivery model for IT services based on the Internet, and it typically involves over-the-Internet provision of dynamically scalable and often virtualized resources.
Cloud computing includes the potential to provide capabilities that can be rapidly and elastically provisioned, in some cases automatically, to scale out and rapidly released to quickly scale in. Work in the cloud is performed with typical workflow engines. Typical workflow engines, however, can have a limited scaling capability, a limited capacity for complexity, and a reliance on a small set of hardware thus providing susceptibility to failure.